5.3.3 APPX Application Design Manual

+ Chapter 1-1: Overview of Application Design
+ Chapter 1-2: Getting Started
+ Chapter 1-3: Data Dictionary
+ Chapter 1-4: Understanding Process Design
+ Chapter 1-5: Interprocess Communication
+ Chapter 1-6: Customizing Your Application
+ Chapter 1-7: The Documentation Facility
+ Chapter 1-8: Application Design Tools
+ Chapter 2-1: Data Dictionary Overview
+ Chapter 2-2: Data Dictionary Concepts
+ Chapter 2-3: Domains
+ Chapter 2-4: Files and Fields
+ Chapter 2-5: Work Fields
+ Chapter 3-1: Overview of APPX Processes
+ Chapter 3-2: Getting Started
+ Chapter 3-3: Process Definition
+ Chapter 3-4: Menu Processes
+ Chapter 3-5: Job Processes
+ Chapter 3-6: Input Processes
+ Chapter 3-7: Output Processes
+ Chapter 3-8: Update Processes
+ Chapter 3-9: Query Processes
+ Chapter 3-10: Inquiry Processes
+ Chapter 3-11: Status Processes
+ Chapter 3-12: Subroutine Processes
+ Chapter 3-13: Table Processes
+ Chapter 3-14: Automatic and Optional Children
+ Chapter 3-15: Using the Image Editor
+ Chapter 3-16: Using GUI Features of the Image Editor
+ Chapter 3-17: Using Event Points
+ Chapter 4-1: ILF Integration
+ Chapter 4-2: True/False Status Indicators
+ Chapter 4-3: Specifying Statements
+ Chapter 4-4: The ILF Editor
+ Chapter 4-5: The Appx ILF Debugger
- Chapter 4-6: ILF Keyword Reference
+ Chapter 4-7: Predefined Fields
+ Chapter 4-8: Runtime Subroutine's and Predefined Processes
+ Chapter 4-9: Appx Chart Director API

Chapter 4-6: ILF Keyword Reference

CALL


You use the CALL statement to invoke a program function or routine written in any non-APPX programming language (such as COBOL, 'C,' or assembler). Some systems require non-APPX code to be linked to APPX. You can pass values or parameters to the called routine, and share (receive back) them in the calling process. You do this by including one or more PASS statements before specifying the CALL. The sequence of PASS statements is very important, and controls which values are used and passed between the calling process and the called routine. The returned value from CALL functions is put into a four-byte binary predefined field called RETURN CODE.

  ????? CALL  ??? ?????????????????????? ??? RESIDENT? ? END? ? FAIL ?
  (1)         (2) (3)                    (4)          (5)    (6)    (7)

(1) T/F execution conditions
(2) Application ID
(3) Program name (field/constant)
(4) Occurrence (constant/index)
(5) Resident? (Y/N)
(6) End? (Y/N)
(7) Fail action (0=nothing, 1=warning,

Sets True/False Status Indicator

If the called routine cannot be invoked, the next true/false status indicator is set to false. If the invocation completes successfully, the next true/false indicator is set to true. If the routine cannot be invoked successfully, the FAIL parameter determines what additional action to take.

Resident

On machines that run dynamic loading, a Y in this field determines whether or not the non-APPX program will stay loaded for future use.

End

The END? parameter is currently ignored.

Fail

See the FAIL (or FT) Parameter section for a complete discussion of this parameter.

Using the Statement

You specify a program to be called by supplying the program as a constant or by supplying an application ID and a field name containing the program name. The format for the program/routine name is system-specific. See the APPX installation guide for your type of system for information on how to structure this field.

Passing Values

The CALL statement passes the current PASS list, if any. Refer to the PASS Lists section for details.

Related Statements

PASS, RUN

Example

The following group of statements calls a routine (as named in TAR field INT CALCULATOR) which is used to compute the total interest on a loan. You need to pass the principal, annual rate of interest, and term of the loan in months.

         PASS   TAR RATE PRINCIPAL      FIELD   SHARE? N
         PASS   TAR RATE ANNL INT       FIELD   SHARE? N
         PASS   TAR RATE TERM MONTHS    FIELD   SHARE? N
         PASS   TAR RATE TOTAL INTEREST FIELD   SHARE? Y
         CALL   TAR INT CALCULATOR RESIDENT? Y  END? N  FAIL 3

Notice that the SHARE? specification is Y (yes) for the total interest field, so that the calling process can receive the computed value back.

Application Design Manual                                         "Powered by Appx Software"

623

©2006 By APPX Software, Inc. All Rights Reserved